1. Technical Field
The present invention relates generally to the field of data streaming. More specifically, the present invention is related to transporting streaming data in packetized form.
2. Background Information
Many electronic networks such as local area networks (LANs), metropolitan area networks (MANs), and wide area networks (WANs) are increasingly being used to transport streaming media whose real-time data transport requirements exhibit high sensitivity to data loss and delivery time distortion. The technical literature describes various schemes to implement Quality of Service (QoS) on such networks to address the requirements of streaming media, especially when intermixed with conventional, time-insensitive, guaranteed delivery protocol stack data traffic. For efficiency reasons, the streaming media transport often uses a non-guaranteed delivery upper layer protocol stack such as UDP/IP making recovery of data in the presence of packet loss difficult without additional bandwidth-consuming Forward Error Correction (FEC) flows.
The transport environment may dynamically vary the streams, such as by dropping packets to reduce bandwidth in response to transient congestion. Various methods for effecting these packet drops include a receiving device dynamically indicating to an upstream router or stream encoder, whether and how much of a bandwidth reduction is desired based on current network conditions. A drawback of these conventional methods is that the resulting bandwidth reduction is often accompanied by an adverse impact on received video quality.
One conventional approach for effecting packet drops is disclosed by Ravindra et al., in “Active Router Approach for Selective Packet Discard of Streamed MPEG video under Low Bandwidth Conditions”, 0-7803-6536-4/00, 2000 IEEE. This approach uses an active router to selectively drop MPEG video packets based on a client's requests or on router-detected bandwidth constraints. Information such as the number of lost packets in a window interval, contained in RTCP messages from client to server are intercepted by the active router application, and used to reduce bandwidth. MPEG frame types such as Bs then Ps may be dropped, starting with the last Ps in a GOP to assure that other Ps can be decoded. In this example, an active agent in the router closest to client acts as a proxy for the client to signal the server to change the frame rate sent.
Ruibiao Qiu and Wei Yu, in “An Efficient Quality Scalable Motion-JPEG2000 Transmission Scheme”, WUCS-01-37, 2001, Department of Computer Science, Washington University, St. Louis, Mo., disclose a quality adaptation for Motion-JPEG2000 streams which makes use of its wavelet encoding techniques. A TxMapper and a RxMapper logical engine is used to add a header to each packet which can be used to identify the packet's priority in delivering perceptual quality and allows processing by a router accordingly. An active router plug-in acts on local congestion info and the header information to prioritize/select packet drops.
Ramanujan et al., in “Adaptive Streaming of MPEG Video over IP Networks”, Architecture Technology Corporation, Proceedings of the 22nd IEEE Conference on Computer Networks (LCN'97), November 1997, disclose another adaptive video streaming approach. A video adaptation algorithm may adjust the signal-to-noise ratio (SNR) and the displayed frame rate of the video by selective frame dropping. Multiple adaptations such as spectral filtering, quantization filtering, macroblock filtering (frame dropping) and playback dilation are used. The chosen adaptation is based on available underlying QoS, best feasible perceptual quality for the video played by receiver, and operator discretion of what constitutes best perceptual quality.
Wu-chang Feng et al., in “Adaptive Packet Marking for Providing Differentiated Services in the Internet”, (University of Michigan and IBM) use a service model with a soft bandwidth guarantee, disclosed as eliminating the need for end-to-end signaling and enforcement of traffic profiles. This approach is aimed at enhancement to Internet service and employs adaptive traffic control at the host and at the edges of the network. It assumes that a low priority, best effort and a high priority service is available in the network. A Packet Marking Engine (PME) monitors traffic and if observed throughput falls below a target rate based on local indicators, packets are marked with high priority until the desired rate is reached. Generally, a stream would be sent with low priority TOS (best effort) and be changed to high priority by the PME when needed to most effectively use network resources.
Zander et al., in “High Quality IP Video Streaming with Adaptive Packet Marking”, QofIS/ICQT 2002, LNCS 2511, pp. 68-77, 2002, dynamically change packet marking based on feedback from an end device receive buffer fill level. This approach depends on a relatively large playout buffer delay of several seconds to compensate for bandwidth fluctuations in the network. It assumes two service classes: guaranteed and best effort. If there is not enough bandwidth available (as detected by low fill level of the receiver playout buffer), then additional bandwidth is used from a guaranteed service based on the currently available best effort bandwidth and the receiver's playout buffer fill level.
While the foregoing approaches may provide a benefit in some applications, none of the approaches discloses or suggests operation on IP packets carrying Transport Stream payloads of the type used to transmit media such as MPEG video over packet switched networks. Therefore, whatever the precise merits, features, and advantages of the above-mentioned prior art schemes, they fail to achieve or fulfill the purposes of the present invention.